/* BShipInterface.java
 * remote interface for the BShipServer distributed object
 * 
 * implemented by Darren Woodley */

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.*;
import data.*;

public interface BShipServerInterface extends Remote
{	
	public boolean login(String username, String hostIP) throws RemoteException;
    
	public boolean logout(String username) throws RemoteException;

	public boolean sendMessage(String user, String mess) throws RemoteException;
	
	public boolean startGame() throws RemoteException;
    
	public boolean placeShip(String player, char shipType, char align, int x, int y) throws RemoteException;

	public boolean fire(String player,int x, int y, int result) throws RemoteException;
    
	public boolean registerForCallback(ClientInterface client) throws RemoteException;
	
	public boolean unregisterForCallback(ClientInterface client) throws RemoteException;
	
	public Vector<String> getPlayers() throws RemoteException;
}
